![]() System und Verfahren zum Bestimmen einer Transaktionszeitüberschreitung
专利摘要:
Es sind Systeme und Verfahren zum Bestimmen von Zeitüberschreitungen bezüglich einer Mehrzahl von Transaktionen offenbart, die ein Verwenden eines ersten Zeitüberschreitungstaktes zum gleichzeitigen Bestimmen von Zeitüberschreitungszuständen bezüglich eines ersten Satzes von Transaktionen der Mehrzahl von Transaktionen und zum Bestimmen, wann Transaktionen des ersten Satzes von Transaktionen einen zeitüberschrittenen Zustand der Zeitüberschreitungszustände erreicht haben, umfassen. 公开号:DE102004003102A1 申请号:DE200410003102 申请日:2004-01-21 公开日:2004-12-09 发明作者:Richard W. Dallas Adkisson;Huai-Ter V. Dallas Chong 申请人:Hewlett Packard Development Co LP; IPC主号:G06F11-00
专利说明:
[0001] Heutzutageist es nicht unüblich,daß ein Computersystemziemlich komplex ist und oft mehrere Prozessoren umfaßt, diekonfiguriert sind, um ein paralleles und/oder verteiltes Verarbeitenzu liefern. Beispielsweise umfassen Mehrprozessor-Computersystemeoft nicht nur mehrere Hauptverarbeitungseinheiten (MPUs – main processingunits), sondern könnenauch mehrere Hilfsprozessoren oder -agenten, beispielsweise Speicherprozessorenund dergleichen, umfassen. Diese verschiedenen Prozessoren, sowieandere Systemressourcen, z.B. Speicher, Eingabe-/Ausgabevorrichtungen,Plattenvorrichtungen und dergleichen, können über das Computersystem verteiltsein, wobei eine Kommunikation durch verschiedene Busse bereitgestelltwird. Beispielsweise kann ein Computersystem eine Anzahl von Teilmodulenaufweisen, die hierin als Zellen oder Zellkarten bezeichnet werdenund eine Anzahl von Systemressourcen, z.B. Hauptverarbeitungseinheiten (MPUs),Agenten und/oder Speicher sowie auf denselben angeordnete Busse,aufweisen. Systemressourcen eines Teilmoduls können Anforderungen an andereSystemressourcen stellen bzw. Anfragen von solchen bedienen. DerartigeSystemressourcen könnendemselben Teilmodul und/oder anderen Teilmodulen des Systems zugeordnetsein. [0002] UmAnforderungen von mehreren Systemressourcen auf ordentliche undvorhersehbare Weise zu bedienen, können Systeme verschiedene Busprotokolleund Transaktionswarteschlangen implementieren. Beispielsweise können TransaktionswarteschlangenInformationen bezüglichbestimmter Transaktionen füreine bestimmte Systemressource „während des Prozesses" („in-process") speichern. Beispielsweisekann ein Prozessor eine großeAnzahl von Transaktionen, beispielsweise eine Anzahl von Speicher-Leseoperationen,ausgeben, wobei beim normalen Betrieb eine Anfangsblock- und/oder Datenrückgabe,beispielsweise eine Speicherrückgabe,erwartet wird. Falls der Prozessor eine Transaktion ausgibt unddie Transaktion nicht zurückkehrt, kannder Prozessor einen vielleicht kritischen Fehlerzustand erfahren. [0003] Fallsdurch das System ein Fehler beim Betrieb irgendeines Aspektes desSystems, beispielsweise bezüglicheiner der zuvor erwähntenSystemressourcen, erfaßtwird, kann ein Fehlersignal erzeugt werden, um die entsprechendenSystemressourcen zu benachrichtigen. Derartige Fehler können nicht-kritischsein, z.B. könnensie auf die Operation einer einzigen Systemressource isoliert odereiner wiederherstellbaren Operation zugeordnet sein. Derartige Fehlerkönnenvom Wesen her jedoch kritisch sein, z.B. können sie die Initialisierungeines gesamten Busses (was hierin als Businitialisierungs- oder BINIT-Fehlerbezeichnet wird) und somit der Systemressourcen auf demselben erfordern. [0004] Allgemeinist es wünschenswert,bestimmte Fehlerzuständezu vermeiden, insbesondere kritische Fehlerzustände, bei denen Systemressourcen voneiner weiteren Verarbeitung „suspendiert" sind, oder die eineInitialisierung einer Mehrzahl von Systemressourcen erfordern. Somitkann mit bestimmten vorhersehbaren Ereignissen, z.B. einem Ausfallbestimmter Transaktionsrückgaben,auf eine Weise umgegangen werden, die berechnet ist, um die Auswirkungauf den Systembetrieb zu minimieren, beispielsweise um eine kritischeFehlersituation zu vermeiden. [0005] Eskann eine Anzahl von Gründenfür ein Fehlschlagendes Empfangens einer Transaktionsrückgabe geben, z.B. dort, woein Ruf an eine bestimmte Hardware getätigt wurde, die in dem System nichtinstalliert wurde oder die entfernt wurde, und wo die Software versucht,die Hardwareumgebung zu entdecken. Dementsprechend implementiertenSysteme bereits Zeitgebungsoperationen, bei denen das System aufeine vorhersehbare und elegante Weise eine Zeitüberschreitung fest stellt, sodaß dieSoftware beispielsweise erkennen wird, daß eine bestimmte Hardwareeinheitnicht existiert, und daß dasVerarbeiten fortgesetzt wird. In der Vergangenheit wurden Zeitüberschreitungsschaltungen(time-out circuits) insbesondere in Bezug auf eine bestimmte Vorrichtungund/oder ein bestimmtes Ereignis implementiert. Beispielsweise können mancheEingabe-/Ausgabesysteme (I-/O-Systeme) Protokolle aufweisen, diebesagen, daß,falls eine bestimmte I-/O-Karte nichtmit dem System gekoppelt ist, ein Zeitüberschreitungszähler, derdieser bestimmten I-/O-Karte zugeordnet ist, nach einer fehlgeschlagenenRückgabevon dieser I-/O-Karte eine Zeitüberschreitungsperiodeangeben wird und das System die Verarbeitung fortsetzen wird. Beieinem großenSystem kann sich jedoch eine Implementierung von Zeitüberschreitungszählern bezüglich jederVorrichtung und/oder jedes Ereignisses, für die bzw. das eine Zeitüberschreitungsverarbeitunggewünschtwerden mag, aus Kostengründen,sowohl in Bezug auf Ressourcen als auch auf die Verarbeitungs-Gesamtkosten,verbieten. [0006] DieAufgabe der vorliegenden Erfindung besteht darin, ein Verfahrenund Systeme zu schaffen, die auf einfache Weise Zeitüberschreitungenbestimmen können. [0007] DieseAufgabe wird durch ein Verfahren gemäß Anspruch 1 sowie durch Systemegemäß Anspruch10 oder 22 gelöst. [0008] EinVerfahren zum Bestimmen von Zeitüberschreitungenbezüglicheiner Mehrzahl von Transaktionen, wobei das Verfahren folgende Schritteumfaßt:Verwenden eines ersten Zeitüberschreitungstakteszum gleichzeitigen Bestimmen von Zeitüberschreitungszuständen bezüglich einesersten Satzes von Transaktionen der Mehrzahl von Transaktionen, undBestimmen, wann Transaktionen des ersten Satzes von Transaktioneneinen zeitüberschrittenenZustand der Zeitüberschreitungszustände erreichthaben. [0009] EinSystem zum Bestimmen von Zeitüberschreitungenbezüglicheiner Mehrzahl von Transaktionen, wobei das System folgende Merkmaleumfaßt:einen ersten Zeitüberschreitungszähler, derein Zeitüberschreitungsintervalleiner ersten vorbestimmten Längeliefert, und eine erste Mehrzahl von Zustandsregistern, die jeweilseiner entsprechenden Transaktion der Mehrzahl von Transaktionenzugeordnet sind, wobei Zuständeder ersten Mehrzahl von Zustandsregistern gemäß dem Zeitüberschreitungsintervall desersten Zeitüberschreitungszählers zueinem nächstenZustand vorgerücktwerden und wobei ein bestimmter Zustand des Zustandsregisters, zu demgemäß den Zeitüberschreitungsintervallenvorgerücktwird, einem zeitüberschrittenenZustand entspricht. [0010] EinSystem zum Bestimmen von Zeitüberschreitungenbezüglicheiner Mehrzahl von Transaktionen, wobei das System folgende Merkmaleumfaßt:eine erste Zustandsmaschine, die zumindest einen Schwebezustand,einen Zeitüberschreitungszustandund einen zeitüberschrittenenZustand fürjede eines ersten Satzes von Transaktionen der Mehrzahl von Transaktionenaufweist, wobei die erste Zustandsmaschine wirksam ist, um Transaktionendes ersten Satzes von Transaktionen ungeachtet des Zustands einesersten Zeitüberschreitungszählers zu demSchwebezustand zu sequenzieren, und wirksam ist, um die Transaktionendes ersten Satzes von Transaktionen gemäß dem Ablauf des ersten Zeitüberschreitungszählers vondem Schwebezustand zu dem ersten Zeitüberschreitungszustand zu sequenzieren,wobei durch die Transaktionen des ersten Satzes von Transaktionengemäß dem Ablaufdes ersten Zeitüberschreitungszählers inden zeitüberschrittenenZustand eingetreten wird. [0011] BevorzugteAusführungsbeispieleder vorliegenden Erfindung werden nachfolgend Bezug nehmend aufdie beiliegenden Zeichnungen nähererläutert.Es zeigen: [0012] 1 einen Abschnitt einesMultiprozessorsystems, bei dem ein Ausführungsbeispiel der vorliegendenErfindung implementiert ist; [0013] 2 Zustandsmaschinen, diezum Implementieren einer Transaktionszeitüberschreitungsnachverfolgunggemäß Ausführungsbeispielender vorliegenden Erfindung zusammenwirken; und [0014] 3 eine Zustandsmaschinezum Implementieren einer Transaktionszeitüberschreitungsnachverfolgunggemäß Ausführungsbeispielender vorliegenden Erfindung. [0015] Ausführungsbeispieleder vorliegenden Erfindung liefern eine Zeitüberschreitungsnachverfolgungbezüglicheiner Mehrzahl von Vorrichtungen und/oder Ereignissen unter Verwendungeines minimalen Maßesan Ressourcen. Gemäß Ausführungsbeispielensind Zeitüberschreitungsperiodenmit einem Unsicherheitsfenster bezüglich ihrer tatsächlichenZeitdauer implementiert, obwohl eine große Anzahl von unabhängigen undasynchronen Ereignissen durch ein Zeitüberschreitungsnachverfolgengeliefert werden können.Durch ein Nutzen von Implementierungen, bei denen eine große Anzahlvon Ereignissen durch ein Zeitüberschreitungsnachverfolgenunter Verwendung eines minimalen Maßes an Ressourcen geliefertwerden kann, ermöglichenAusführungsbeispieleder vorliegenden Erfindung auf wirtschaftliche Weise die Verwendungunterschiedlicher Zeitüberschreitungsperioden,um z.B. unterschiedliche Typen von Ereignissen und/oder Situationenzu berücksichtigen. [0016] Beieinem Betrieb gemäß Ausführungsbeispielender vorliegenden Erfindung geben Systemressourcen, z.B. Prozessoren,Transaktionen aus, die bis zum Abschluß nachverfolgt werden. Beispielsweisekann ein Prozessor eine Speicherleseoperation ausgeben, die Transaktionwird in eine Transaktionstabelle eingegeben, und ein Transaktionzeitüberschrei tungsnachverfolgengemäß der vorliegendenErfindung wird implementiert. Im normalen Betrieb wird die Transaktiondurch ein Speichersystem verarbeitet, das ein Datenpaket zurückgibt,und die Rückgabewird durch eine Bezugnahme auf die Transaktionstabelle verarbeitet.Falls jedoch die Transaktionsantwort nicht innerhalb einer Zeitüberschreitungsperiodezurückgegebenwird, wie durch eine Operation eines Ausführungsbeispiels der Erfindungbestimmt wird, ist das Transaktionszeitüberschreitungsverarbeiten vorzugsweiseimplementiert, um einen fortgesetzten und vorhersehbaren Systembetriebzu ermöglichen.Beispielsweise erzwingen Ausführungsbeispieleeinen Abschluß derTransaktion, beispielsweise um eine Rückgabe auszugeben, beispielsweiseeinschließlichgefälschteroder erfundener Daten, je nach dem Transaktionstyp, usw. [0017] Gemäß Ausführungsbeispielender vorliegenden Erfindung werden Transaktionen klassifiziert, undeine Zeitüberschreitungsinkrementalzustandsmaschinewird bezüglichjeder derartigen Transaktion implementiert. Ein Transaktionszeitüberschreitungszähler kannfür jedenunterschiedlichen Typ von Transaktion vorgesehen sein, für den eineZeitüberschreitungsnachverfolgunggemäß Ausführungsbeispielender Erfindung geliefert werden soll. Dementsprechend kann eine kleineAnzahl von Transaktionszeitüberschreitungszählern bezüglich einergroßenAnzahl von Transaktionen, fürdie eine Zeitüberschreitungsnachverfolgungimplementiert ist, implementiert sein. [0018] Dieden diversen unterschiedlichen Klassifikationen von Transaktionenzugeordneten Transaktionszeitüberschreitungszähler können unterschiedlicheZeitüberschreitungsperiodenliefern. Je nachdem, wie die Transaktion aussieht, kann es beispielsweisewünschenswertsein, verlängerteoder verkürzteZeitüberschreitungsperiodenzu ermöglichen,beispielsweise dort, wo eine Transaktion einer Systemressource oderSystemressourcen zugeordnet ist, die relativ entfernt in dem Systemangeordnet ist bzw. sind, oder dort, wo eine Transaktion einer Leistung seitenseiner Anzahl von Systemressourcen zugeordnet ist. [0019] Vorzugsweisewerden die Transaktionszeitüberschreitungszähler innerhalbvon vorbestimmten Zeitperioden, die geringer sind als die gewünschten Zeitüberschreitungsperiodenfür dieseTransaktionsklassifikation, umdrehen, z.B. abwärts zählen. Gemäß Ausführungsbeispielen der Erfindungwird die Logik jeder entsprechenden Zeitüberschreitungszustandsmaschine(z.B. derjenigen Zustandsmaschinen für Transaktionen, die als derTransaktionstyp klassifiziert sind, der dem bestimmten Zeitüberschreitungszähler zugeordnetist) jedesmal dann zu einem neuen Zustand vorgerückt, wenn ein Transaktionszeitüberschreitungszähler umdreht.Nachdem ein Zeitüberschreitungszustanderreicht ist, wird vorzugsweise ein Transaktionszeitüberschreitungsverarbeitenaufgerufen. Da eine Mehrzahl von nachverfolgten Transaktionen gleichzeitigin einen zeitüberschrittenenZustand übergehenkann, implementieren Ausführungsbeispieleder Erfindung eine Transaktionsabschlußlogik, die ein Zeitüberschreitungsverarbeitenentscheidet. Beispielsweise könnenzeitüberschritteneTransaktionen (also Transaktionen, bei denen die Zeit zur Ausführung bzw.Durchführung bereitsabgelaufen oder überschrittenist) zum Verarbeiten durch die Transaktionsabschlußlogik prioritätscodiertsein, z.B. auf der Basis eines Transaktionstyps, einer Positionin einer Nachverfolgungstabelle usw. [0020] EineTransaktionsabschlußlogikvon Ausführungsbeispielender Erfindung kann durch jede derartige zeitüberschrittene Transaktion verlaufenund sie aus dem System löschen,z.B. indem sie einen Systemabschluß erzwingt und die Transaktionaus der Transaktionsnachverfolgungstabelle entfernt. Der zuvor erwähnte erzwungeneAbschluß vonzeitüberschrittenenTransaktionen wird vorzugsweise durch die Transaktionsabschlußlogik entschieden,um eine fortgesetzte Handhabung von ordnungsgemäß zurückgegebenen Transaktionen zusammenmit den zeitüberschrittenenTransaktionen zu ermöglichen. [0021] Überdiessehen Ausführungsbeispieleunterschiedliche Typen von Zeitüberschreitungenvor, wie sie beispielsweise unterschiedlichen Typen von Transaktionen,die durch die Transaktionsabschlußlogik entschieden werden können, zugeordnetsein können.Ausführungsbeispieleder Erfindung berücksichtigenferner eine tatsächlicheRückgabeeiner Transaktion, fürdie eine Transaktionszeitüberschreitungsperiodeabgelaufen ist und eine Transaktionszeitüberschreitungsverarbeitungbereits begonnen hat. [0022] UnterBezugnahme auf 1 istein Abschnitt eines Computersystems, bei dem ein Ausführungsbeispielder vorliegenden Erfindung implementiert ist, allgemein als 100 gezeigt.Das Hostsystem, das als Bestandteil den Systemabschnitt 100 aufweist,kann ein Multiprozessorsystem umfassen, z.B. ein Serversystem derSerie rx von Hewlett Packard, das eine Mehrzahl von Intel-ITANIUM-Prozessoren implementiert. [0023] Derin 1 veranschaulichteSystemabschnitt 100 umfaßt eine Mehrzahl von Prozessoren,hier Prozessoren 131 und 132, die auf einem Bus 101 angeordnetsind. Der Bus 101 kann bei einem Liefern einer Kommunikationzwischen verschiedenen Systemressourcen verwendet werden, z.B. Hauptverarbeitungseinheiten(MPUs), z.B. den zuvor erwähntenITANIUM-Prozessoren, z.B. Prozessoren 131 und 132,Speicher (nicht gezeigt) und/oder dergleichen. Ebenfalls mit demBus 101 des veranschaulichten Ausführungsbeispiels gekoppelt isteine Prozessorschnittstelle 110, die einen Prozessorschnittstelleneingangsblock(PIN-Blocks) 113 und einen Prozessorschnittstellenausgangsblock (POUT-Blocks) 114 umfaßt. [0024] DerProzessorschnittstelleneingangsblock 113 des veranschaulichtenAusführungsbeispiels umfaßt eineProzessorschnittstellen-In-Reihe-Warteschlange (PIQ) 112.Die Prozessorschnittstellen-In-Reihe-Warteschlange 112 umfaßt eineIn-Reihe-Warteschlange 111, die verwendet wird, um Transaktionsphasenzu nutzen, um einen Abschluß vonTransaktionen auf dem Bus in einer Reihenfolge gemäß einemdominierenden Protokoll zu gewährleisten. [0025] DerProzessorausgangsblock 114 umfaßt einen Anfangsblock/Datenverarbeitungsblock 143,der mit einer Außer-Der-Reihe-Warteschlangeoder -Transaktionstabelle 144 wirksam ist, um eine Transaktionsausführung aufdem Bus, die in einer beliebigen Reihenfolge zurückgegeben werden kann, nachzuverfolgen.Ein Prozessorausgabeadreßsteuerungs/Verarbeitungsblock(POAC-Block) 142 und ein Prozessorausgangsdatenblock (POD-Block) 141 des Prozessorausgangsblocks 114 arbeitenmit der Transaktionstabelle 144 und/oder dem Anfangsblock-/Datenverarbeitungsblock 143 zusammen,um Anfangsblock- und Dateninformationen gemäß Transaktionen auf dem Bus 101 auszugeben. [0026] Mansollte erkennen, daß derSystemabschnitt 100 eventuell lediglich einen kleinen Abschnitteines bestimmten Systems darstellt. Demgemäß kann das System, von demder Systemabschnitt 100 ein Bestandteil ist, zusätzlich zuden gezeigten Systemressourcen auch Prozessoren, Busse, Prozessorschnittstellenund/oder andere Systemressourcen umfassen. [0027] ImBetrieb gemäß einemAusführungsbeispielwerden Transaktionen, die durch einen Prozessor, z.B. Prozessoren 131 und 132,ausgegeben werden, zunächstin der Prozessorschnittstellen-In-Reihe-Warteschlange 112 verarbeitet.Demgemäß kann eineTransaktion entsprechend der Reihenfolge verarbeitet werden, z.B.um eine Transaktionsanforderungsphase, eine Datennachprüfphase undeine Datenantwortphase zu umfassen, wie sie durch Zustände, diein der In-Reihe-Warteschlange 111 gespeichertsind, widergespiegelt werden. Nach Abschluß der In-Reihe-Transaktionsphasen,die der In-Reihe-Warteschlange 112 zugeordnetsind, können Transaktionenin der Transaktionstabelle 144 bis zum Abschluß der Transaktionnachverfolgt werden. [0028] Wennz.B. ein Prozessor eine Speicherleseoperation durchführt, kannauf dem Bus eine Speicherleseoperationsanforderung von diesem Prozessorerscheinen, in der Prozessorschnittstellen-In-Reihe-Warteschlangeverarbeitet werden und zum Zweck einer tatsächlichen Wiedergewinnung und Rückgabe derangeforderten Daten an den Rest des Systems weitergesandt werden.Währendjedoch die tatsächlicheWiedergewinnung und Rückgabeder angeforderten Daten bewerkstelligt wird, kann ein Transaktionseintragin die Transaktionstabelle plaziert werden, um zu zeigen, daß eine angeforderte Speicherleseoperationstransaktionimmer noch im Schwebezustand ist. Es wird erwartet, daß die angeforderteSpeicherleseoperationstransaktion an den Anfangsblock/Datenverarbeitungsblockzurückgegebenwerden wird. Der Anfangsblock-/Datenverarbeitungsblock akzeptiertdie zurückgegebenenInformationen und sieht auf die Transaktionstabelle, um zu bestimmen,wie die Informationen gehandhabt werden sollen. Demgemäß kann derProzessorausgangsadreßsteuerungein Anfangsblock bereitgestellt werden, um anzugeben, daß zugeordneteDaten zu einem bestimmten Prozessor, der in der Transaktionstabelleidentifiziert wird, gelenkt werden. Danach können die Daten dem Prozessorausgangsdatenblockbereitgestellt werden, um diese Daten mit den ordnungsgemäßen Informationenauf dem Bus zu plazieren, derart, daß der Prozessor, der die Leseoperationdurchführte,diese Daten bekommen wird. [0029] Obwohlerwartet wird, daß einetypische Operation zu einer Rückgabevon Transaktionen führenwird, wie oben erläutertwurde, könnenbestimmte Situationen dazu führen,daß eineRückgabebezüglicheiner oder mehrerer Transaktionen niemals geliefert wird. Um zuvermeiden, daß einProzessor oder eine andere Systemressource eine weitere Verarbeitunganhält(d.h. ein „Suspendieren" oder „Gefrieren"), und/oder um Fehlerzustände ordnungsgemäß zu erfassen,liefern Ausführungsbeispieleder vorliegenden Erfindung eine Transaktionszeitüberschreitungsnachverfolgungund eine Löschungeiner zeitüberschrittenenTransaktion. Da jedoch Systeme, bei denen Ausführungsbeispiele der vorliegendenErfindung eingesetzt werden können,eine großeAnzahl von gleichzeitigen Transaktionen unterstützen können, sind Ausführungsbeispieleder vorliegenden Erfindung angepaßt, um die zuvor erwähnte Transaktionszeitüberschreitungsnachverfolgungzu liefern, ohne separate Zeitüberschreitungszähler für jede Transaktion,für dieeine Zeitüberschreitungsnachverfolgunggeliefert wird, zu implementieren. [0030] Demgemäß implementierenAusführungsbeispieleder vorliegenden Erfindung eine Zustandsmaschine oder Zustandsmaschinen,wie z.B. die in 1 gezeigtenZustandsmaschinen 151 und 161, die Zustände liefern,die jeder Transaktion zugeordnet sind, für die eine Zeitüberschreitungsnachverfolgunggeliefert werden soll, um zu bestimmen, wann eine bestimmte Transaktion über einezugeordnete Zeitüberschreitungsperiodehinaus fortgedauert hat. Wie in der Technik bekannt ist, ist eineZustandsmaschine allgemein jegliche Vorrichtung, die den Status einerSache zu einem gegebenen Zeitpunkt speichert und auf eine Eingabehin wirksam ist, um den Status zu verändern und/oder zu bewirken,daß eine Aktionoder eine Ausgabe füreine beliebige gegebene Veränderungstattfindet. Die Zustandsmaschinen 151 und 161 desveranschaulichten Ausführungsbeispielsarbeiten mit einer Transaktionsabschlußlogik 170 zusammen,um ein Löschenvon zeitüberschrittenenTransaktionen zu steuern. Einzelheiten bezüglich der Zustände derZustandsmaschine 151 gemäß einem Ausführungsbeispielder vorliegenden Erfindung sind in 2 gezeigt.Desgleichen sind Einzelheiten bezüglich der Zustände derZustandsmaschine 161 gemäß einem Ausführungsbeispielder vorliegenden Erfindung in 3 gezeigt. [0031] Mansollte erkennen, daß,obwohl das veranschaulichte Ausführungsbeispielzwei Transaktionszeitüberschreitungszustandsmaschinenumfaßt,die vorliegende Erfindung nicht auf eine bestimmte Anzahl von Transaktionszeitüberschreitungszustandsmaschinenbeschränktist. Demgemäß können Ausführungsbeispieleder vorliegenden Erfindung eine beliebige gewünschte Anzahl von Transaktionszeitüberschreitungszustandsmaschinen,wie sie beispielsweise einer beliebigen Anzahl von Transaktionsklassifizierungenentsprechen können,implementieren. Derartige Zustandsmaschinen können kooperativ arbeiten, umeine ZeitüberschreitungstransaktionsnachverfolgungbezüglichTransaktionen zu liefern, oder sie können unabhängig voneinander arbeiten. [0032] Wiebei dem Ausführungsbeispielder 1 gezeigt ist, kanndie Transaktionstabelle 144 eine oder mehrere Zustandsmaschinen,z.B. die Zustandsmaschinen 151 und 161 der vorliegendenErfindung, umfassen, obwohl Zustandsmaschinen von Ausführungsbeispielenan einer beliebigen geeigneten Stelle angeordnet sein können, umden Zeitüberschreitungsstatusvon Transaktionen zu speichern, und auf eine Eingabe hin wirksamsein können,um den Status zu verändernund/oder zu bewirken, daß eineAktion oder eine Ausgabe füreine beliebige gegebene Veränderungstattfindet. Zeitüberschreitungszähler undeine Zustandsvorrückungslogik,die in 1 als Zeitüberschreitungszähler 153a, 153b und 163 undZustandsvorrückung 152a, 152b und 162 gezeigtsind, sind bezüglichder bei dem veranschaulichten Ausführungsbeispiel gezeigten Zustandsmaschinevorgesehen. Ein Zeitüberschreitungszähler undeine entsprechende Zustandsvorrückungslogikarbeiten mit einer Zustandsmaschine zusammen, um zeitüberschreitungsnachverfolgte Transaktionendurch eine Anzahl von Zuständenhindurch vorzurücken,wodurch eine gewünschteminimale Zeitüberschreitungsperiodegeliefert wird. Register, die hier als Register 154 und 164 gezeigtsind, könnenmit den Zustandsmaschinen zusammenwirken, um Zustandsinformationenbezüglichjeder Transaktion einer Klassifizierung von Transaktionen, die einerentsprechenden der Zustandsmaschinen zugeordnet sind, zu speichern.Nachdem eine bestimmte Transaktion einen zeitüberschrittenen Zustand erreicht,wie durch den in einem der zuvor erwähnten Register gespeichertenZustand angegeben werden kann, könnenein „Zeitüberschreitungerfaßt"-Block und ein Prioritätscodierungsblock,hier als „Zeitüberschreitungerfaßt"-Block und Prioritätscodierungsblock 165 gezeigt,Informationen bezüglicheiner bestimmten Transaktion, die einen zeitüberschrittenen Zustand erreichthat, zum weiteren Verarbeiten an eine Transaktionsabschlußlogik liefern. [0033] DieTransaktionsabschlußlogik 170 desveranschaulichten Ausführungsbeispielsumfaßteine Entscheidungslogik, die hier eine Entscheidungseinheit 171,einen Multiplexer 172, ein Register 173 und einenMultiplexer 174 umfaßt,um zwischen mehreren Transaktionen, die gelöscht werden sollen, zu entscheiden.Die Entscheidungslogik des veranschaulichten Ausführungsbeispielswirkt mit einer Anfangsblock/Datenverarbeitung 143 zusammen, umzeitüberschritteneTransaktionen, wie sie durch den „Zeitüberschreitung erfaßt"-Block und den Prioritätscodierungsblock 155 und 165 angegebenwerden, aus der Transaktionstabelle 144 zu löschen. Zusätzlich erzwingtdie Anfangsblock/Datenverarbeitung 143 eines bevorzugtenAusführungsbeispiels Antwortenbezüglichbestimmter Transaktionen, beispielsweise ein Datenpaket bereitzustellen,das gefälschteDaten aufweist, um dadurch einer entsprechenden Systemressourceeine erwartete Antwort zu liefern. Man sollte erkennen, daß derartigeerzwungene Antworten einem vorbestimmten Protokoll folgen können, beispielsweiseeinem, das alle Einsen oder ein anderes bekanntes Muster umfaßt, um eine empfangendeSystemressource bezüglicheines zeitüberschrittenenZustands zu warnen. [0034] Mansollte erkennen, daß dieAnfangsblock/Datenverarbeitung 143 während des Verarbeitens derzuvor erwähntenzeitüberschrittenenTransaktionen weiterhin tatsächlicheTransaktionsrückgabenempfangen kann. Überdieskönnenderartige tatsächlicheTransaktionsrückgabeneiner Transaktion entsprechen, die als durch einen bestimmten des "Zeitüberschreitungerfaßt"-Blocks und des Prioritätscodierungsblocks 155 und 165 zeitüberschritten angegebenwird. Wie aus der nachstehenden Erläuterung deutlicher ersichtlichwird, kann die Anfangsblock-/Datenverarbeitung 143 dementsprechendbestimmte Informationen überzeitüberschritteneTransaktionen außerKraft setzen oder ignorieren. [0035] ImBetrieb gemäß dem veranschaulichten Ausführungsbeispielgibt ein Prozessor, z.B. einer der Prozessoren 131 und 132,eine neue Transaktion aus, die durch den Prozessorschnittstelleneingang 113 empfangenwird. Vorzugsweise liefert der Prozessorschnittstelleneingang 113 Informationenbezüglichbestimmter neuer Transaktionen (NEW_TXN) und zugeordnete Indexierungsinformationen(INDEX) an die Zustandsmaschine 151. Die Indexierungsinformationenkönneneine Bezugnahme aufweisen, die einer Position entspricht, an der dieTransaktion in der Transaktionstabelle 144 gespeichertwerden soll. Wo beispielsweise 64 Transaktionen durch dieTransaktionstabelle 144 nachverfolgt werden, kann der Indexeine Zahl zwischen Null und 63 sein. Man sollte also erkennen,daß dieZustandsflußdiagrammeder 2 einem einzigen Transaktionsindexentsprechen. Demgemäß sind vorzugsweisemehrere derartige Zustandsflüssebezüglichder Mehrzahl von Transaktionen implementiert, für die ein Transaktionszeitüberschreitungsnachverfolgendurch die Transaktionstabelle 144 des veranschaulichtenAusführungsbeispielsgeliefert wird. [0036] Wiein 2 zu sehen ist, verfolgenZustände 202–205 derZustandsmaschine 151 gemäß einem Ausführungsbeispielder Erfindung zumindest anfänglichalle Transaktionen nach, fürdie der Prozessorschnittstelleneingang 113 das Signal NEW_TXNaktiviert, wodurch eine Standardklassifizierung (MEM) bezüglich Transaktionen,die dem Signal NEW_TXN entsprechen, eingerichtet wird. Falls jedochan irgendeinem Punkt der Transaktionszeitüberschreitungsnachverfolgungder Transaktion, die einem bestimmten Index zugeordnet ist, bestimmt wird,daß dieTransaktion einer anderen Klassifizierung (MMIO) angehört, z.B.das Signal SET_MMIO wird durch den Prozessorschnittstelleneingang 113 aktiviert,werden die Zustände 212–215 derZustandsmaschine 151 eine Transak tionszeitüberschreitungsnachverfolgungbezüglichder Transaktion bereitstellen. [0037] DieTransaktionszuständebezüglicheines bestimmten Index, wie in 2 gezeigt,beginnen mit einem Ruhezustand 201. Der Ruhezustand 201 entsprichteinem Zustand, bei dem keine Transaktion bezüglich des jeweiligen Indexin der Schwebe ist, für denein Transaktionszeitüberschreitungsnachverfolgenderzeit durch die Zustandsmaschine 151 verwendet wird.Auf eine Aktivierung des Neue-Transaktion-Signals (NEW_TXN) durchden Prozessorschnittstelleneingang 113 hin bewegt sichjedoch die Zustandsmaschine 151 von dem Ruhezustand 201 zudem Schwebezustand 202, wie in dem Register 154 angegebensein kann. [0038] EinTransaktionzeitüberschreitungsnachverfolgeneiner ersten Transaktionsklassifizierung (MEM) durch die Zustandsmaschine 151 desveranschaulichten Ausführungsbeispielsbeginnt bei dem Schwebezustand 202. Dementsprechend bewegt sichdie Zustandsmaschine 151 auf eine Aktivierung eines Zeitüberschreitungszählersignalshin, wie es durch die Zustandsvorrückung 152a geliefertwird, von dem Schwebezustand 202 zu einem nachfolgendenMEM-Klassifizierungszeitüberschreitungs-zustand,wie in dem Register 154 angegeben sein kann. Beispielsweisekann der Zeitüberschreitungszähler 153a einenfreilaufenden Takt liefern, der von einer vorbestimmten Zahl aufNull abwärtszählt,zurücksetztund anschließendwieder abwärtszählt.Die vorbestimmte Zahl kann so ausgewählt sein, daß sie einausgewähltesMEM-Klassifizierungsabwärtszählintervallliefert. Jedesmal, wenn der Zeitüberschreitungszähler 153a Nullerreicht, kann die Zustandsvorrückung 152a einZeitüberschreitungszählersignal aktivieren,was der Zustandsmaschine 151 gegenüber einen Ablauf einer weiterenEpoche des Abwärtszählintervallsfür eineerste Transaktionsklassifizierung (MEM) angibt. [0039] Wennsie sich bei dem Schwebezustand 202 befindet, bewegt sichdie Zustandsmaschine 151 auf eine Aktivierung des Zeitüberschreitungszählersignalsdurch die Zustandsvorrükkung 152a hinzu dem ersten Zeitüberschreitungszustand 203.Analog dazu bewegt sich die Zustandsmaschine 151, wennsie sich bei dem ersten Zeitüberschreitungszustand 203 befindet,auf eine Aktivierung des Zeitüberschreitungszählersignalsdurch die Zustandsvorrückung 152a hinzu dem zweiten Zeitüberschreitungszustand 204.Wenn sie sich bei dem zweiten Zeitüberschreitungszustand 204 befindet,bewegt sich die Zustandsmaschine 151 auf eine Aktivierungdes Zeitüberschreitungszählersignalsdurch die Zustandsvorrückung 152a hinzu einem dritten Zeitüberschreitungszustand 205.Gemäß dem veranschaulichten Ausführungsbeispielentspricht der dritte Zeitüberschreitungszustand 205 einemZustand, bei dem die MEM-Transaktion als zeitüberschritten betrachtet wird.Dementsprechend kann der „Zeitüberschreitungerfaßt"- und Prioritätscodierungsblock 155 erfassen,daß einebestimmte Transaktion in einen dritten Zeitüberschreitungszustand 205 eingetretenist, und die Transaktion fürein Zeitüberschreitungsverarbeitendurch die Transaktionabschlußlogik 170 prioritätscodieren. [0040] Fallsder Prozessorschnittstellenausgang 114 zu irgendeinem Zeitpunktwährenddes Transaktionszeitüberschreitungsnachverfolgensdurch die Zustandsmaschine 151 eine Transaktionsrückgabe empfängt unddie entsprechende Transaktion löscht, wirdvorzugsweise ein Löschsignalbezüglichder Transaktion aktiviert. Auf eine Aktivierung eines derartigenLöschsignalshin, was einen Abschluß der Verarbeitungbezüglichder Transaktion durch die Prozessorschnittstelle 110 angibt,kehrt die Zustandsmaschine 151 für diese Transaktion vorzugsweisezu dem Ruhezustand 201 zurück. [0041] Fallsder Prozessorschnittstelleneingang 113 zu irgendeinem Zeitpunktwährenddes Transaktionszeitüberschreitungsnachverfolgens durchdie Zustandsmaschine 151 bestimmt, daß eine bestimmte Transaktioneiner anderen Klassifizierung an gehört als der Standardklassifizierung,z.B. MMIO statt MEM, aktiviert der Prozessorschnittstelleneingang 113 desveranschaulichten Ausführungsbeispielsdas Signal SET_MMIO. Auf eine Aktivierung des SET_MMIO-Signals hinbewegen sich jegliche der Zustände 202–205 derZustandsmaschine 151 zum Zweck eines Transaktionszeitüberschreitungsnachverfolgensdurch die Zustandsmaschine 151 zu dem Schwebezustand 212,wie in dem Register 154 angegeben sein kann. [0042] DasTransaktionszeitüberschreitungsnachverfolgeneiner zweiten Transaktionsklassifizierung (MMIO) durch die Zustandsmaschine 151 desveranschaulichten Ausführungsbeispielsbeginnt bei dem Schwebezustand 212. Dementsprechend bewegt sichdie Zustandsmaschine 151 auf eine Aktivierung eines Zeitüberschreitungszählersignalshin, wie es beispielsweise durch die Zustandsvorrückung 152b geliefertwird, von dem Schwebezustand 212 zu einem nachfolgendenMMIO-Klassifizierungszeitüberschreitungszustand,wie er durch das Register 154 angegeben sein kann. Beispielsweisekann der Zeitüberschreitungszähler 153b einenfreilaufenden Takt liefern, der von einer vorbestimmten Zahl bisauf Null abwärtszählt,zurücksetztund anschließenderneut abwärtszählt.Die vorbestimmte Zahl kann so ausgewählt sein, daß sie einausgewähltes MMIO-Klassifizierungsabwärtszählintervallliefert. Jedesmal, wenn der Zeitüberschreitungszähler 153b Nullerreicht, kann die Zustandsvorrückung 152b ein Zeitüberschreitungszählersignalaktivieren, was der Zustandsmaschine 151 gegenüber einenAblauf einer weiteren Epoche des Abwärtszählintervalls einer zweitenTransaktionsklassifizierung (MMIO) angibt. [0043] Wennsie sich bei dem Schwebezustand 212 befindet, bewegt sichdie Zustandsmaschine 151 auf eine Aktivierung des Zeitüberschreitungszählersignalsdurch die Zustandsvorrükkung 152b hinzu dem ersten Zeitüberschreitungszustand 213.Analog dazu bewegt sich die Zustandsmaschine 151, wennsie sich bei dem ersten Zeitüberschreitungszustand 213 befindet,auf eine Aktivierung des Zeitüberschreitungszählersi gnalsdurch die Zustandsvorrückung 152b hinzu dem zweiten Zeitüberschreitungszustand 214.Wenn sie sich bei dem zweiten Zeitüberschreitungszustand 214 befindet,bewegt sich die Zustandsmaschine 151 auf eine Aktivierungdes Zeitüberschreitungszählersignalsdurch die Zustandsvorrückung 152b hinzu einem dritten Zeitüberschreitungszustand 215.Gemäß dem veranschaulichten Ausführungsbeispielentspricht der dritte Zeitüberschreitungszustand 215 einemZustand, bei dem die MMIO-Transaktion als zeitüberschritten betrachtet wird.Dementsprechend kann der „Zeitüberschreitungerfaßt"- und Prioritätscodierungsblock 155 erfassen,daß einebestimmte Transaktion in einen dritten Zeitüberschreitungszustand 215 eingetretenist, und die Transaktion fürein Zeitüberschreitungsverarbeitendurch die Transaktionabschlußlogik 170 prioritätscodieren. [0044] Fallsder Prozessorschnittstellenausgang 114 zu irgendeinem Zeitpunktwährenddes Transaktionszeitüberschreitungsnachverfolgens durchdie Zustandsmaschine 151 eine Transaktionsrückgabe empfängt unddie entsprechende Transaktion löscht,wird vorzugsweise ein Löschsignalbezüglichder Transaktion aktiviert. Auf eine Aktivierung eines derartigenLöschsignalshin, was einen Abschluß derVerarbeitung bezüglichder Transaktion durch die Prozessorschnittstelle 110 angibt,kehrt die Zustandsmaschine 151 für diese Transaktion vorzugsweisezu dem Ruhezustand 201 zurück. [0045] Ausdem Obigen sollte man erkennen, daß gemäß der vorliegenden Erfindungeine beliebige Anzahl von unterschiedlichen Zeitüberschreitungszählern implementiertwerden könnte,beispielsweise um eine gewünschteAnzahl von unterschiedlichen Transaktionstypen zu berücksichtigen.Jeder derartige Zählerkann programmierbar sein, um gewünschteZeitüberschreitungsperiodenzu liefern, wodurch fürjede Transaktionsklassifizierung unabhängige und unterschiedlicheZeitüberschreitungsperioden geliefertwerden. Beispielsweise kann eine MMIO-Transaktion einem Teil desSystems zugeordnet sein, der eventuell nicht existiert, und somitkann der Zeitüberschreitungszähler 153b programmiert sein,um eine längereEpoche als der Zeitüberschreitungszähler 153a zuliefern, um einen verbesserten Systembetrieb bezüglich MMIO-Transaktionen zuermöglichen. [0046] Mansollte ferner erkennen, daß einBetrieb des veranschaulichten Ausführungsbeispiels der Zustandsmaschine 151 zumindestzwei vollständige Zeitüberschreitungsepochenliefert, wie sie durch die zugeordneten Zeitüberschreitungszähler definiert sind.Im einzelnen kann, währenddie Zeitüberschreitungszähler desveranschaulichten Ausführungsbeispielsfreilaufend sind, eine bestimmte Transaktion an einem beliebigenPunkt in einer aktuellen Epoche des entsprechenden Zeitüberschreitungszählers in dieSchwebezuständebeider Transaktionsklassifizierungen der Zustandsmaschine 151 (Zustände 202 und 212)eintreten. Jedoch bewegt sich der Zeitüberschreitungszustand dieserTransaktion, wie sie durch die Zustandsmaschine nachverfolgt wird,erst dann zu nachfolgenden Zuständen(z.B. Zeitüberschreitungszuständen 203–205 bzw. 213–215),wenn eine vollständigeZeitüberschreitungsepochegemäß dem entsprechendenZeitüberschreitungszähler verstrichenist. Da ein Eintreten in den dritten Zeitüberschreitungszustand 205 und 215 desveranschaulichten Ausführungsbeispielsdamit verbunden ist, daß diezugeordnete Transaktion zeitüberschritten wird,kann eine Zeitüberschreitungsverarbeitung durchdie Transaktionsabschlußlogik 170 unmittelbar nachdemsich eine der beiden Zustandsmaschinen zu diesem abschließenden Zeitüberschreitungszustandbewegt, beginnen. Demgemäß beträgt die Zeitüberschreitungsperiode,die jeder Transaktionsklassifizierung der Zustandsmaschine 151 zugeordnet ist,zumindest das Zweifache der Zeitüberschreitungsepoche,die durch den Zeitüberschreitungszähler 153a bzw. 153b definiertist. [0047] Ausführungsbeispieleder vorliegenden Erfindung erstellen ein Zeitüberschreitungsperiodenfenster,wobei eine minimale Zeitüberschreitungsperiodeder doppelten zugeordneten Zeitüberschreitungszählerepocheentspricht und eine maximale Zeitüberschreitungsperiode dem Dreifachendes zugeordneten Zeitüberschreitungszählers entspricht. AlsBeispiel einer Situation, bei der eine maximale Zeitüberschreitungsperiodeerfahren wird, kann ein Neue-Transaktion-Signal direkt nachdem einZeitüberschreitungszähler 153a voneiner vorherigen Epoche zurückgesetztwurde, aktiviert werden. Demgemäß kann einevollständigeEpoche des Zeitüberschreitungszählers 153a verstreichen,bevor sich die Zustandsmaschine 151 von dem Schwebezustand 202 zudem ersten Zeitüberschreitungszustand 203 bewegt.Die Zeitüberschreitungsverarbeitungdurch die Transaktionsabschlußlogik 170 beginnterst nach drei Epochen des Zeitüberschreitungszählers 153a, wodurcheine maximale Zeitüberschreitungsperiode desDreifachen des Zeitüberschreitungszählers eingerichtetwird. Dementsprechend wird, falls der Zeitüberschreitungszähler 153a für eine Epochevon 25 msec programmiert ist, eine MEM-Transaktion gemäß dem veranschaulichtenAusführungsbeispielals zeitüberschrittenangesehen, falls durch die Anfangsblock-/Datenverarbeitung 143 irgendwoim Bereich zwischen 50 und 75 msec, nachdem die Transaktion in dieTransaktionstabelle 144 eingetragen wurde, keine Transaktionsrückgabe empfangenwurde, je nachdem, wo sich der Zeitüberschreitungszähler 153a beiseinem Abwärtszählen befand,als die Transaktion in die Transaktionstabelle eingetragen wurde. [0048] Mansollte erkennen, daß dieZeitüberschreitungszähler 153a und 153b einenZählereiner relativ hohen Auflösung,beispielsweise in der Größenordnungvon 32 Bits, auf ökonomischeWeise implementieren können,da beim Liefern eines Transaktionszeitüberschreitungsnachverfolgensgemäß Ausführungsbeispielender vorliegenden Erfindung sehr wenige derartige Zähler verwendetwerden. Ein derartiger Hochauflösungszähler, derbei den Zustandsmaschinen des veranschaulichten Ausführungsbeispielsimplementiert ist, ermöglichteine großeBandbreite von Zeitüberschreitungsperioden. UnterVerwendung eines 32-Bit-Zeitüberschreitungszählers können Ausführungsbeispieleder vorliegenden Erfindung bei spielsweise eine Zeitüberschreitungsperiodeim Bereich von 17,2 bis 25,8 Sekunden am oberen Ende der Skala odereine Zeitüberschreitungsperiodein der Größenordnungvon Millisekunden am unteren Ende der Skala liefern. [0049] Obwohlbei der Transaktionszeitüberschreitungszustandsmaschinedes veranschaulichten Ausführungsbeispielsauf eine gewisse Zählerauflösung verzichtetwird, sollte man erkennen, daß verschiedeneAnzahlen von Zeitüberschreitungszuständen, einschließlich unterschiedlicherAnzahlen von Zeitüberschreitungszuständen bezüglich jederZustandsmaschine, implementiert sein können, um ein gewünschtesAuflösungsniveauzu liefern. Man sollte jedoch erkennen, daß eine Hinzufügung derartiger Zeitüberschreitungszustände dieGesamtkosten bezüglichjeder Transaktion, die durch eine derartige Zustandsmaschine nachverfolgtwird, insofern erhöhenkann, als eventuell mehr Bits beim Nachverfolgen von Zuständen inden entsprechenden Registern verwendet werden. [0050] Dasveranschaulichte Ausführungsbeispiel derZustandsmaschine 151 verwendet zwei Bits für ein Zeitüberschreitungszustandsnachverfolgen(z.B. 00 Schwebezustand, 10 erster Zeitüberschreitungszustand, 01 zweiterZeitüberschreitungszustandund 11 dritter Zeitüberschreitungszustand),wobei weitere zwei Bits verwendet werden, um einen Nachverfolgungsstatusund die Transaktionsklassifizierung anzugeben (z.B. 10 gibt einein der Schwebe befindliche Transaktion einer MEM-Klassifizierung an und 11 gibt einein der Schwebe befindliche Transaktion einer MMIO-Klassifizierungan). Selbstverständlich können, fallsgewünscht,auch andere Implementierungen verwendet werden, um ein Nachverfolgen vongewünschtenZeitüberschreitungsinformationen zuliefern. [0051] Wieoben erwähntwurde, erfaßtder „Zeitüberschreitungerfaßt"- und Prioritätscodierungsblock 155,wenn Transaktionen den abschließendenZeitüberschreitungszustanderreichen, bei dem veranschaulichten Ausführungsbeispiel der Zustandsmaschine 151 dieZustände 205 und 215,den Transakti onszustand und codiert die Transaktion für eine weitereVerarbeitung durch die Transaktionsabschlußlogik 170. Beispielsweisekann der „Zeitüberschreitung erfaßt"- und Prioritätscodierungsblock 155 einenbestimmten, im Register 154 gespeicherten Index identifizieren,der den Zeitüberschreitungszustanderreicht hat, und kann diesen Index zum Erzwingen einer Antwort,Löschender Transaktion usw. an die Transaktionsabschlußlogik 170 liefern.Jedoch könnenmehrere der Transaktionen gleichzeitig einen zeitüberschrittenenZustand erreichen. Deshalb richtet die Prioritätscodierungsschaltungsanordnungdes "Zeitüberschreitungerfaßt"-Blocks und Prioritätscodierungsblocks 155 einePrioritätbezüglichjeder derartigen Transaktion ein, um ihre Verarbeitung seriell zuermöglichen.Beispielsweise könnenTransaktionen auf der Grundlage ihres zugeordneten Index für eine weitereVerarbeitung priorisiert werden. Zusätzlich oder alternativ dazukönnenTransaktionen auf der Basis des Transaktionstyps, der anfordernden Systemressourceusw. priorisiert werden. Da eine Mehrzahl von Transaktionen alsdurch mehrere des "Zeitüberschreitungerfaßt"-Blocks und Prioritätscodierungsblocksdes veranschaulichten Ausführungsbeispielsgleichzeitig zeitüberschrittenangegeben sein können,entscheidet die Entscheidungslogik, beispielsweise die Entscheidungseinheit 171 undder Multiplexer 174 des veranschaulichten Ausführungsbeispiels,eine serielle Lieferung der zeitüberschrittenenTransaktionen an die Anfangsblock-/Datenverarbeitung 143.Selbstverständlichkönnen,falls gewünscht,auch alternative Ausführungsbeispieleeine parallele Verarbeitung von zeitüberschrittenen Transaktionenvorsehen. [0052] Gemäß einemAusführungsbeispielder vorliegenden Erfindung nimmt die Anfangsblock-/Datenverarbeitung 143 eindurch den Multiplexer 174 aktiviertes Transaktionszeitüberschreitungssignalan und fragt eine Transaktionstabelle bezüglich Informationen ab, diedie jeweilige Transaktion betreffen. Während beispielsweise die Anfangsblock-/Datenverarbeitung 143 während einerZeit, in der Transaktionen, von denen be stimmt wird, daß sie zeitüberschrittensind, durch die Entscheidungseinheit 171 entschieden werden,weiterhin Transaktionsrückgabenempfängt,ist es möglich,daß diejeweilige Transaktion zurückgekehrtist und auf normale Weise durch die Anfangsblock-/Datenverarbeitungverarbeitet wurde. Somit würdedie Transaktionstabelle 144 die jeweilige Transaktion nichtmehr als Zeitüberschreitungzeigen, und die Anfangsblock-/Datenverarbeitung 143 kanndie Zeitüberschreitungsinformationenverwerfen oder vielleicht eine Aufzeichnung protokollieren, um eineunbefriedigende Rückgabelatenzbezüglichder Transaktion anzugeben. Falls jedoch die Anfrage an die Transaktionstabelle 144 durchdie Anfangsblock-/Datenverarbeitung 143 ergibt, daß sich dieTransaktion immer noch in einer Zeitüberschreitung befindet, bestimmtdie Anfangsblock-/Datenverarbeitung 143 vorzugsweise eine ordnungsgemäße Maßnahme,die zu ergreifen ist, beispielsweise welche Art von Rückgabe anden anfordernden Prozessor gesendet werden soll. [0053] Fallsbeispielsweise in dem System eine Hardware vorliegt, die nicht existiert,kann die Transaktion als MMIO-Transaktionklassifiziert werden, und die Tatsache, daß eine Zeitüberschreitung auftrat, wirdnicht als kritisch betrachtet werden, weshalb vorgeschlagen wird,daß einvorbestimmtes Rückgabepaket,das beispielsweise alle Einsen umfaßt, durch die Anfangsblock-/Datenverarbeitung 143 gezwungenwird, den anfordernden Prozessor von dem Fehlen der bestimmten Hardwarezu benachrichtigen. Falls die Transaktion Daten von einem Speicher anforderte,der in einer anderen Domain angeordnet ist, kann eine Zeitüberschreitungzu einer Bestimmung führen,daß einschwerwiegenderer Fehler mit einem Flag markiert werden soll, jedochkann die Anfangsblock-/Datenverarbeitung 143 trotzdem noch einRückgabepaket,das beispielsweise alle Einsen umfassen kann, zwingen, wieder eineweitere Verarbeitung bezüglichdes anfordernden Prozessors zu ermöglichen. Falls jedoch die TransaktionDaten von einem Speicher anforderte, der in einer Domain angeordnetist, die bezüglichder Prozessorschnittstelle 110 als lokal erachtet wird,kann ein kritischer Fehler mit einem Flag markiert werden, und dieAnfangsblock-/Datenverarbeitung 143 erzwingtvielleicht keine Rückgabeoder kann ein Paket zurückgeben,um die Domain auf elegante Weise zum Absturz zu bringen und/oderum Aspekte des Systems zu initialisieren. Selbstverständlich sinddie obigen Maßnahmen lediglichbeispielhaft, und gemäß der Erfindungkönnenbeliebige geeignete Maßnahmenimplementiert werden, ob es sich um ein Erzwingen von Rückgaben,ein Markieren von Fehlern mit Flags, ein Implementieren von Neuversuchenusw. und/oder um Kombinationen derselben handelt. [0054] Nachdem Verarbeiten einer bestimmten Transaktion durch die Anfangsblock-/Datenverarbeitung 143 wirddie Transaktionstabelle 144 vorzugsweise aktualisiert,um den abgeschlossenen Status der Transaktion widerzuspiegeln. Nachdem Erzwingen einer Rückgabeoder dem auf andere Weise erfolgenden Abschließen einer Verarbeitung bezüglich einerbestimmten Transaktion liefert die Anfangsblock-/Datenverarbeitung 143 vorzugsweiseein Löschen-Signalbezüglichder Zustandsmaschine 151, um die Zustandsmaschine zu veranlassen,sich von dem zeitüberschrittenenZustand (dritter Zeitüberschreitungszustand 205 bzw.dritter Zeitüberschreitungszustand 215)zu dem Ruhezustand 201 zu bewegen. Danach ist die Zustandsmaschinebereit, eine Transaktionszeitüberschreitungsnachverfolgungbezüglicheiner weiteren Transaktion aufzurufen, der anschließend dernun gelöschteIndex zugewiesen wird. [0055] UnterBezugnahme auf 3 isteine weitere Zustandsmaschine, die gemäß einem Ausführungsbeispielder vorliegenden Erfindung vorgesehen ist, gezeigt. Im einzelnenist in 3 die Zustandsmaschine 161 gezeigt,wie sie Transaktionen zugeordnet sein kann, die als Multicast (MC)klassifiziert sind. Die Zustandsmaschine 161 eines bevorzugtenAusführungsbeispielsist in der Transaktionstabelle 114 angeordnet, um ein Zeitüberschreitungsnachverfolgenderartiger Multicast-Transaktionen zu ermöglichen, und liefert In formationen über zeitüberschritteneTransaktionen an den Multiplexer 174 der Entscheidungslogikder Transaktionsabschlußlogik 170 imwesentlichen wie es oben in bezug auf die Zustandsmaschine 151 beschriebenwurde. Man sollte erkennen, daß dieZustandsvorrückung 162,der Zeitüberschreitungszähler 163,die Register 164 und der „Zeitüberschreitung erfaßt"- und Prioritätscodierungsblock 165 einesbevorzugten Ausführungsbeispielsbezüglichder Zustandsmaschine 161 im wesentlichen funktionierenwie entsprechende Komponenten (z.B. Zustandsvorrückung 152a, Zeitüberschreitungszähler 153a,Register 154 und „Zeitüberschreitungerfaßt"-Block und ein Prioritätscodierungsblock 155),die oben in bezug auf die Zustandsmaschine 151 beschriebenwurden. [0056] Multicast-TransaktionenkönnenMehrpunktpakete liefern, die auf eine Mehrzahl von Systemressourcengerichtet sind, und nicht auf eine einzige Systemressource, wiees fürviele Transaktionen üblichist. Beispielsweise kann ein Prozessorbus in einer der Zellen einesSystems ein Cache-Synchronisierungspaketausgeben, das an eine Mehrzahl von Systemressourcen, z.B. alle Prozessorenin einer Schutzdomain (d.h. alle Zellen, die unter der Steuerungeines bestimmten Betriebssystems wirksam sind) gesendet werden soll.Jeder Prozessorbus einer Schutzdomain müßte dieses Cache-Synchronisierungssignalsehen, um eine Cache-Synchronisierungdurchzuführen.Dementsprechend kann eine Prozessorschnittstelle im normalen Betriebeine derartige Multicast-Paketanforderung von einem zugeordnetenProzessor empfangen und sie an alle Zellen senden, die sich in dieserSchutzdomain befinden, wobei sie eine Bestätigung für jedes gesandte Anforderungspaketerwartet. Jedoch kann eine Zelle mehrere Prozessoren und/oder mehrereBusse umfassen. Obwohl auf die Multicast-Paketcachesynchronisierungletztlich durch eine Mehrzahl von Systemressourcen in einer einzigenZelle eingewirkt wird, kann die anfordernde Systemressource vonjeder Zelle lediglich eine einzige Bestätigung erwarten. Dementsprechendkönnenderartigen Multicast- Transaktionenmehrere Transaktionsrückgabenzugeordnet sein, wobei das letzte erwartete dieser Ergebnisse in einerRückgabean eine anfordernde Systemressource ausgegeben wird. [0057] DerZeitüberschreitungszähler 163 unddie Zustandsvorrückungslogik 162,die wie oben unter Bezugnahme auf die Zustandsmaschine 151 beschriebenwirksam sind, könnenbezüglichder Zustandsmaschine 161 vorgesehen sein. Ein derartiger Zeitüberschreitungszähler undeine entsprechende Zustandsvorrückungslogikkönnenmit der Zustandsmaschine 161 zusammenwirken, um zeitüberschreitungsnachverfolgteTransaktionen durch eine Anzahl von Zuständen vorzurücken, wodurch eine gewünschte minimaleZeitüberschreitungsperiodegeliefert wird. Register 164, die wie oben bezüglich der Zustandsmaschine 151 beschriebenwirksam sind, könnenmit der Zustandsmaschine 161 zusammenwirken, um Zustandsinformationenbezüglichjeder Transaktion einer Klassifizierung von Transaktionen, die dieserZustandsmaschine zugeordnet sind, zu speichern. Nachdem eine bestimmteTransaktion einen zeitüberschrittenenZustand erreicht hat, wie durch den in einem zuvor erwähnten Registergespeicherten Zustand angegeben sein kann, kann der „Zeitüberschreitungerfaßt"- und Prioritätscodierungsblock 165,der wie oben bezüglichder Zustandsmaschine 151 beschrieben wirksam ist, Informationenbezüglicheiner bestimmten Transaktion, die einen zeitüberschrittenen Zustand erreichthat, zum Zweck einer weiteren Verarbeitung an die Transaktionsabschlußlogik 170 liefern. [0058] Beieinem Betrieb gemäß dem veranschaulichtenAusführungsbeispielgibt ein Prozessor, z.B. einer der Prozessoren 131 und 132,eine Multicast-Transaktion aus, die durch den Prozessorschnittstelleneingang 113 empfangenwird. Die Prozessorschnittstelle 113 aktiviert ein Startsignal,das angibt, daß eineMulticast-Transaktion dabei ist, gestartet zu werden, und eine Logikin derselben bestimmt jede zugeordnete Ressource, die die Multicast-Transaktionbedienen wird. [0059] DieTransaktion stellt bezüglicheines bestimmten Transaktionsindex, wie er in 3 gezeigt ist, fest, mit dem Ruhezustand 301 zubeginnen. Der Ruhezustand 301 entspricht einem Nichtvorhandenseineiner in der Schwebe befindlichen Multicast-Transaktion bezüglich desbestimmten Index, fürdas das Transaktionszeitüberschreitungsnachverfolgenderzeit durch die Zustandsmaschine 161 verwendet wird.Auf eine Aktivierung des Startsignals durch den Prozessorschnittstelleneingang 113 hin bewegtsich die Zustandsmaschine 161 jedoch von dem Ruhezustand 301 zudem gültigenZustand 302. [0060] EineTransaktionszeitüberschreitungsnachverfolgungder Multicast-Transaktionsklassifizierung (MC) durch die Zustandsmaschine 161 desveranschaulichten Ausführungsbeispielsbeginnt bei dem gültigenZustand 302. Dementsprechend bleibt das veranschaulichteAusführungsbeispielin dem gültigenZustand 302, währendzugeordnete Multicast-Transaktionen gestartet werden. Die Zustandsmaschine 161 bewegtsich auf eine Aktivierung eines Zeitüberschreitungszählersignalshin von dem gültigenZustand 302 zu einem anschließenden MC-Klassifizierungszeitüberschreitungszustand. Beispielsweisekann ein zugeordneter Zeitüberschreitungszähler einenfreilaufenden Takt liefern, der von einer vorbestimmten Zahl aufNull abwärts zählt, zurücksetztund anschließendwieder abwärts zählt. Dievorbestimmte Zahl kann so ausgewählt sein,daß sieein ausgewähltesMC-Klassifizierungsabwärtszählintervallliefert. Jedesmal, wenn der Zeitüberschreitungszähler Nullerreicht, kann ein zugeordneter Zustandsvorrückungsblock ein Zeitüberschreitungszählersignalaktivieren, was der Zustandsmaschine 161 gegenüber einenAblauf einer weiteren Epoche des Abwärtszählintervalls angibt. [0061] Wennsich die Zustandsmaschine bei dem gültigen Zustand 302 befindet,bewegt sie sich auf eine Aktivierung des Zeitüberschreitungszählersignalshin zu dem ersten Zeitüberschreitungszustand 303.Wenn sie sich bei dem ersten Zeit überschreitungszustand 303 befindet,bewegt sich die Zustandsmaschine 161 analog dazu auf eineAktivierung des Zeitüberschreitungszählersignalshin zu dem zweiten Zeitüberschreitungszustand 304,und wenn sie sich bei dem zweiten Zeitüberschreitungszustand 304 befindet,bewegt sich die Zustandsmaschine 161 auf eine Aktivierungdes Zeitüberschreitungszählersignalshin zu dem dritten Zeitüberschreitungszustand 305.Gemäß dem veranschaulichten Ausführungsbeispielentspricht der dritte Zeitüberschreitungszustand305 einem Zustand, bei dem die MC-Transaktion als zeitüberschrittenzu betrachten ist. Entsprechend kann die "Zeitüberschreitungerfaßt"- und Prioritätscodierungslogikerfassen, daß einebestimmte Transaktion in den dritten Zeitüberschreitungszustand 305 eingetretenist, und die Transaktion füreine Zeitüberschreitungsverarbeitung durchdie Transaktionsabschlußlogik 170 prioritätscodieren. [0062] Dader Multicast-Transaktion eine Mehrzahl von Transaktionsanforderungenzugeordnet ist, liefert ein Ausführungsbeispielder Zustandsmaschine 161 ein Bit für jede derartige Transaktion.Dort, wo der Prozessorschnittstelleneingang 113 beispielsweisebestimmt, daß eineMulticast-Transaktion bezüglichvier Systemressourcen, z.B. vier Prozessoren einer Zelle, gestartetwerden soll, kann jedes von vier Bits auf Eins eingestellt werden,um jeder der vier Systemressourcen gegenüber die gestarteten Transaktionenanzugeben. WährendTransaktionsrückgaben,die der Multicast-Transaktionzugeordnet sind, zu dem Prozessorschnittstellenausgang 114 zurückgegebenwerden, könnendem Prozessorschnittstelleneingang 113 Informationen bezüglich derSystemressource, die eine Transaktionsantwort liefert, bereitgestelltwerden, und das entsprechende Nachverfolgungsbit kann auf Null geändert werden.Obwohl eine oder mehrere Multicast-Rückgaben empfangen werden können, setztdie Zustandsmaschine 161 des veranschaulichten Ausführungsbeispielsden Zeitüberschreitungsstatuserst dann zurück,wenn alle derartigen Transaktionsbits eine Transaktionsrückgabe widerspiegeln,wodurch angegeben wird, daß dieMulticast-Transaktionabgeschlossen ist. [0063] Mansollte erkennen, daß dieZustandsmaschine 161, wie sie oben beschrieben wurde, einBeispiel einer Zustandsmaschine ist, die eine Transaktionszeitüberschreitungsnachverfolgungbezüglicheiner bestimmten Transaktionsklassifizierung unabhängig vonder Operation irgendeiner anderen Transaktionszeitüberschreitungsnachverfolgungszustandsmaschinedes veranschaulichten Ausführungsbeispielsliefert. Obwohl die Zustandsmaschinen 151 und 161 desveranschaulichten Ausführungsbeispielsin der Darstellung beide als Teile der Transaktionstabelle 144 angeordnetsind, sollte man erkennen, daß Zustandsmaschinen,die gemäß Ausführungsbeispielender vorliegenden Erfindung verwendet werden, in einem anderen Bereichdes Systems als dem gezeigten oder in einem anderen Bereich alsdem der anderen Zustandsmaschinen, die gemäß der vorliegenden Erfindungwirksam sind, angeordnet sein können.Desgleichen beinhalten die Zustandsmaschinen 151 und 161 desveranschaulichten Ausführungsbeispielsin der Darstellung zwar einen ersten, einen zweiten und einen drittenZeitüberschreitungszustand,jedoch könnenZustandsmaschinen der vorliegenden Erfindung eine beliebige Anzahlvon Zeitüberschreitungszuständen verwenden.Beispielsweise könnenunterschiedliche Zustandsmaschinen eines Ausführungsbeispiels der vorliegendenErfindung jeweils unterschiedliche Anzahlen von Zeitüberschreitungszuständen verwenden,falls gewünscht.Dementsprechend sollte man ohne weiteres erkennen, daß Ausführungsbeispiele dervorliegenden Erfindung eine Vielzahl von Konfigurationen beim Lieferneines Transaktionszeitüberschreitungsnachverfolgensimplementieren können.
权利要求:
Claims (27) [1] Verfahren zum Bestimmen von Zeitüberschreitungenbezüglicheiner Mehrzahl von Transaktionen, wobei das Verfahren folgende Schritteumfaßt: Verwendeneines ersten Zeitüberschreitungstaktes (153a)zum gleichzeitigen Bestimmen von Zeitüberschreitungszuständen (203–205)bezüglicheines ersten Satzes von Transaktionen der Mehrzahl von Transaktionen;und Bestimmen, wann Transaktionen des ersten Satzes von Transaktioneneinen zeitüberschrittenenZustand (205) der Zeitüberschreitungszustände erreichthaben. [2] Verfahren gemäß Anspruch1, bei dem der erste ZeitüberschreitungstaktEpochen eines ersten Zeitüberschreitungsintervallsliefert, wobei das Verfahren folgende Schritte umfaßt: Bewegeneines Zustands, der einer Transaktion des ersten Satzes von Transaktionenzugeordnet ist, zu einem ersten Zeitüberschreitungszustand (202),ungeachtet eines Zustandes einer Epoche des ersten Zeitüberschreitungsintervalls;und Bewegen des Zustandes, der der Transaktion zugeordnet ist,zu dem zeitüberschrittenenZustand nach Ablauf einer Epoche des ersten Zeitüberschreitungsintervalls. [3] Verfahren gemäß Anspruch1 oder 2, das ferner folgenden Schritt umfaßt: Priorisieren der Transaktionendes ersten Satzes von Transaktionen, die den zeitüberschrittenenZustand erreicht haben, füreine serielle Zeitüberschreitungsverarbeitung. [4] Verfahren gemäß einemder Ansprüche1 bis 3, das ferner folgenden Schritt umfaßt: Zeitüberschreitungsverarbeiten(170) der Transaktionen des ersten Satzes von Transaktionen,die den zeitüberschrittenenZustand erreicht haben, um dadurch die Transaktionen aus Systemressourcenzu löschen. [5] Verfahren gemäß Anspruch4, bei dem das Zeitüberschreitungsverarbeitenfolgenden Schritt umfaßt: Bestimmen,ob eine bestimmte der Transaktionen, die derzeit zeitüberschreitungsverarbeitetwerden, normal abgeschlossen wurde, nachdem die bestimmte Transaktionden zeitüberschrittenenZustand erreicht hat. [6] Verfahren gemäß einemder Ansprüche1 bis 5, das ferner folgende Schritte umfaßt: Verwenden eines zweitenZeitüberschreitungstaktes (153b)zum gleichzeitigen Bestimmen von Zeitüberschreitungszuständen (213–215)bezüglicheines zweiten Satzes von Transaktionen der Mehrzahl von Transaktionen;und Bestimmen, wann Transaktionen des zweiten Satzes von Transaktioneneinen zeitüberschrittenenZustand (215) der Zeitüberschreitungszustände erreichthaben. [7] Verfahren gemäß Anspruch6, bei dem der erste ZeitüberschreitungstaktEpochen eines ersten Zeitüberschreitungsintervallsliefert und der zweite ZeitüberschreitungstaktEpochen eines zweiten Zeitüberschreitungsintervallsliefert, wobei das erste und das zweite Zeitüberschreitungsintervall unterschiedlichsind. [8] Verfahren gemäß Anspruch6 oder 7, das ferner folgenden Schritt umfaßt: Klassifizieren vonTransaktionen füreine Zuordnung zu dem ersten Satz von Transaktionen und dem zweitenSatz von Transaktionen. [9] Verfahren gemäß Anspruch8, bei dem Transaktionen standardmäßig dem ersten Satz von Transaktionenzugeordnet sind und bei dem das Klassifizieren von Transaktionenbestimmte Transaktionen zu dem zweiten Satz von Transaktionen bewegt. [10] System zum Bestimmen von Zeitüberschreitungen bezüglich einerMehrzahl von Transaktionen, wobei das System folgende Merkmale umfaßt: einenersten Zeitüberschreitungszähler (153a),der ein Zeitüberschreitungsintervalleiner ersten vorbestimmten Längeliefert; und eine erste Mehrzahl von Zustandsregistern (154), wobeijedes einer entsprechenden Transaktion der Mehrzahl von Transaktionenzugeordnet ist, wobei erste Zustände(202–205)der ersten Mehrzahl von Zustandsregistern gemäß dem ersten Zeitüberschreitungsintervalldes ersten Zeitüberschreitungszählers zueinem nächstenZustand vorgerücktwerden und wobei ein bestimmter Zustand der ersten Zustände, zudem gemäß den Zeitüberschreitungsintervallenvorgerücktwird, einem zeitüberschrittenenZustand entspricht. [11] System gemäß Anspruch10, bei dem der erste Zeitüberschreitungszähler einZählenmit einer relativ hohen Auflösungliefert. [12] System gemäß Anspruch11, bei dem das Zählenmit einer relativ hohen Auflösungein Zählen mitzumindest 32 Bits umfaßt. [13] System gemäß einemder Ansprüche10 bis 12, bei dem die ersten Zustände der ersten Mehrzahl vonZustandsregistern einen anfänglichenZustand umfassen, in den ungeachtet eines Status des Zeitüberschreitungsintervallsdes ersten Zeitüberschreitungszählers eingetretenwird und der gemäß dem Zeitüberschreitungsintervalldes ersten Zeitüberschreitungszählers zueinem nächstenZustand vorgerücktwird, um dadurch ein Zeitüberschreitungsunsicherheitsfensterbezüglichdes zeitüberschrittenen Zustandszu liefern. [14] System gemäß Anspruch13, bei dem das Zeitüberschreitungsunsicherheitsfenstereine Funktion des Zeitüberschreitungsintervallsdes ersten Zeitüberschreitungszählers ist. [15] System gemäß Anspruch14, bei dem das Zeitüberschreitungsunsicherheitsfenstereinen Zeitüberschreitungsperiodenbereichvon dem Doppelten des Zeitüberschreitungsintervallsdes ersten Zeitüberschreitungszählers biszu dem Dreifachen des Zeitüberschreitungsintervallsdes ersten Zeitüberschreitungszählers definiert. [16] System gemäß einemder Ansprüche10 bis 15, das ferner folgendes Merkmal umfaßt: eine Prioritätscodierungslogik(155), die wirksam ist, um eine weitere Verarbeitung bezüglich einerMehrzahl von Transaktionen, die gleichzeitig einen zeitüberschrittenenZustand erreicht haben, zu priorisieren. [17] System gemäß einemder Ansprüche10 bis 16, das ferner folgendes Merkmal aufweist: einen zweitenZeitüberschreitungszähler (153b),der ein Zeitüberschreitungsintervalleiner zweiten vorbestimmten Längeliefert, wobei zweite Zustände (212–215)der ersten Mehrzahl von Zustandsregistern gemäß dem Zeitüberschreitungsintervall des zweitenZeitüberschreitungszählers zueinem nächstenZustand vorgerücktwerden und wobei ein bestimmter Zustand der zweiten Zustände, zudem gemäß dem zweitenZeitüberschreitungsintervallvorgerücktwird, einem zeitüberschrittenenZustand entspricht. [18] System gemäß Anspruch17, bei dem das Zeitüberschreitungsintervalldes ersten Zeitüberschreitungszählers eineandere vorbestimmte Länge aufweistals das Zeitüberschreitungsintervalldes zweiten Zeitüberschreitungszählers. [19] System gemäß Anspruch17 oder 18, bei dem der erste Zeitüberschreitungszähler unddie ersten Zuständeeiner ersten Klassifizierung von Transaktionen zugeordnet sind undder zweite Zeitüberschreitungszähler unddie zweiten Zuständeeiner zweiten Klassifizierung von Transaktionen zugeordnet sind. [20] System gemäß einemder Ansprüche17 bis 19, bei dem die ersten Zustände und die zweiten Zustände kooperativverwendet werden, um einen zeitüberschrittenenZustand bezüglicheiner einzelnen Transaktion zu bestimmen. [21] System gemäß einemder Ansprüche17 bis 20, das ferner folgendes Merkmal umfaßt: eine Entscheidungslogik,die wirksam ist, um ein weiteres Verarbeiten bezüglich Transaktionen, die einen zeitüberschrittenenZustand erreicht haben, der den ersten Zuständen zugeordnet ist, und bezüglich Transaktionen,die einen zeitüberschrittenenZustand er reicht haben, der den zweiten Zuständen zugeordnet ist, zu entscheiden. [22] System zum Bestimmen von Zeitüberschreitungen bezüglich einerMehrzahl von Transaktionen, wobei das System folgendes Merkmal umfaßt: eineerste Zustandsmaschine, die zumindest einen Schwebezustand, einenersten Zeitüberschreitungszustandund einen zeitüberschrittenenZustand für jedeeines ersten Satzes von Transaktionen der Mehrzahl von Transaktionenaufweist, wobei die erste Zustandsmaschine wirksam ist, um Transaktionen desersten Satzes von Transaktionen ungeachtet des Status eines erstenZeitüberschreitungszählers zu demSchwebezustand zu sequenzieren, und wirksam ist, um die Transaktionendes ersten Satzes von Transaktionen gemäß dem Ablauf des ersten Zeitüberschreitungszählers vondem Schwebezustand zu dem ersten Zeitüberschreitungszustand zu sequenzieren,wobei die Transaktionen des ersten Satzes von Transaktionen gemäß dem Ablaufdes ersten Zeitüberschreitungszählers inden zeitüberschrittenenZustand eintreten. [23] System gemäß Anspruch22, bei dem die erste Zustandsmaschine ferner folgendes Merkmalumfaßt: einenzweiten Zeitüberschreitungszustand,wobei die Zustandsmaschine wirksam ist, um die Transaktionen desersten Satzes von Transaktionen gemäß dem Ablauf des ersten Zeitüberschreitungszählers vondem ersten Zeitüberschreitungszustandzu dem zweiten Zeitüberschreitungszustandzu sequenzieren, und wirksam ist, um die Transaktionen des erstenSatzes von Transaktionen gemäß dem Ablauf desersten Zeitüberschreitungszählers vondem zweiten Zeitüberschreitungszustandzu dem zeitüberschrittenenZustand zu sequenzieren. [24] System gemäß Anspruch23, bei dem die erste Zustandsmaschine ein Zeitüberschreitungsfenster liefert,das eine Zeitüberschreitungsunsicherheitvon einer Periode des ersten Zeitüberschreitungszählers aufweist. [25] System gemäß einemder Ansprüche22 bis 24, das ferner folgendes Merkmal umfaßt: eine Prioritätslogik,die eine PrioritätshierarchiebezüglichTransaktionen, die den zeitüberschrittenen Zustanderreicht haben, einrichtet. [26] System gemäß einemder Ansprüche22 bis 25, bei dem die erste Zustandsmaschine ferner zumindest einenSchwebezustand, einen ersten Zeitüberschreitungszustand und einenzeitüberschrittenen Zustandfür jedeeines zweiten Satzes von Transaktionen der Mehrzahl von Transaktionenaufweist, wobei die erste Zustandsmaschine wirksam ist, um Transaktionendes zweiten Satzes von Transaktionen ungeachtet des Status eineszweiten Zeitüberschreitungszählers zudem Schwebezustand des zweiten Satzes von Transaktionen zu sequenzieren, undwirksam ist, um die Transaktionen des zweiten Satzes von Transaktionengemäß dem Ablaufdes zweiten Zeitüberschreitungszählers vondem Schwebezustand zu dem ersten Zeitüberschreitungszustand des zweitenSatzes von Transaktionen zu sequenzieren, wobei die Transaktionendes zweiten Satzes von Transaktionen gemäß dem Ablauf des zweiten Zeitüberschreitungszählers inden zeitüberschrittenenZustand des zweiten Satzes von Transaktionen eintreten. [27] System gemäß einemder Ansprüche22 bis 26, das ferner folgendes Merkmal umfaßt: eine zweite Zustandsmaschine,die zumindest einen Schwebezustand, einen ersten Zeitüberschreitungszustandund einen zeitüberschrittenenZustand für jede einesdritten Satzes von Transaktionen der Mehrzahl von Transaktionenaufweist, wobei die zweite Zustandsmaschine wirksam ist, um Transaktionendes dritten Satzes von Transaktionen ungeachtet des Status einesdritten Zeitüberschreitungszählers zudem Schwebezustand zu sequenzieren, und wirksam ist, um die Transaktionendes dritten Satzes von Transaktionen gemäß dem Ablauf des dritten Zeitüberschreitungszählers vondem Schwebezustand zu dem ersten Zeitüberschreitungszustand zu sequenzieren,wobei die Transaktionen des dritten Satzes von Transaktionen gemäß dem Ablaufdes dritten Zeitüberschreitungszählers inden zeitüberschrittenenZustand eintreten.
类似技术:
公开号 | 公开日 | 专利标题 EP0324737B1|1992-08-26|Protokoll für übertragungsschnittstelle TWI222025B|2004-10-11|Method and apparatus for dynamically allocating and deallocating processors in a logical partitioned data processing system US6182177B1|2001-01-30|Method and apparatus for maintaining one or more queues of elements such as commands using one or more token queues CA2123447C|1999-02-16|Scalable system interrupt structure for a multiprocessing system CA1081857A|1980-07-15|Apparatus for processing interrupts in microprocessing systems US4817091A|1989-03-28|Fault-tolerant multiprocessor system CN1114860C|2003-07-16|处理多个电平触发和边沿触发中断的方法和装置 CN100592271C|2010-02-24|使用集成dma引擎进行高性能易失性磁盘驱动器存储器访问的装置和方法 DE69826418T2|2005-03-03|Anordnung zum Abtasten mehrerer Instruktionen in einer Prozessorpipeline US7200776B2|2007-04-03|System and method for generating trace data in a computing system EP0357685B1|1994-02-16|Verfahren und anordnung zur sicherung von angepasstem zugriff zu betriebsmitteln in einem multiprozessordatenverarbeitungssystem US9886077B2|2018-02-06|Processor management via thread status US7424604B2|2008-09-09|Weighted processor selection apparatus and method for use in multiprocessor systems TWI414943B|2013-11-11|拖延dma操作以利用轉換控制項機制之遷移進展位元進行記憶體遷移 US6349394B1|2002-02-19|Performance monitoring in a NUMA computer US6889344B2|2005-05-03|System and method for exposing hidden events on system buses US5193163A|1993-03-09|Two-level protocol for multi-component bus ownership, and implementation in a multi-processor cache write back protocol EP2406723B1|2019-12-11|Skalierbare schnittstelle zum verbinden mehrerer computersysteme, die parallel-mpi-header-vergleich durchführt US6067644A|2000-05-23|System and method monitoring instruction progress within a processor CN1554050B|2010-06-16|具有自适应优先权控制器的数据处理器及其方法 US4949239A|1990-08-14|System for implementing multiple lock indicators on synchronous pended bus in multiprocessor computer system EP0737336B1|2001-11-28|Multiprozessor-programmierbares unterbrechungskontrollersystem mit prozessor-integrierten unterbrechungskontrollern US5737757A|1998-04-07|Cache tag system for use with multiple processors including the most recently requested processor identification TWI267782B|2006-12-01|Deallocation of computer data in a multithreaded computer US6223299B1|2001-04-24|Enhanced error handling for I/O load/store operations to a PCI device via bad parity or zero byte enables
同族专利:
公开号 | 公开日 US20040237006A1|2004-11-25| US7219268B2|2007-05-15|
引用文献:
公开号 | 申请日 | 公开日 | 申请人 | 专利标题
法律状态:
2004-12-09| OP8| Request for examination as to paragraph 44 patent law| 2013-11-14| R119| Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee|Effective date: 20130801 |
优先权:
[返回顶部]
申请号 | 申请日 | 专利标题 相关专利
Sulfonates, polymers, resist compositions and patterning process
Washing machine
Washing machine
Device for fixture finishing and tension adjusting of membrane
Structure for Equipping Band in a Plane Cathode Ray Tube
Process for preparation of 7 alpha-carboxyl 9, 11-epoxy steroids and intermediates useful therein an
国家/地区
|